#include<stdio.h>
#include<math.h>
unsigned short getoddbit(unsigned short num,short bit[])
{
	unsigned short temp=num;
	int i=1,j=0;
	short res=0,t[8];
	
	while(temp)
	{
		bit[i]=temp%2;
		temp/=2;
		i++;
	}
	for(;i>=1;i--)
	{
		if(i%2!=0)
		{
			t[j++]=bit[i];
			printf("%hd",t[j-1]);
		}
		
	}
	printf("\n");
	
	int p=1,n=7;
	for(i=0;i<8;i++)
	{
		p=1;
		for(j=1;j<=n;j++)
		p*=2;
		if(t[i])
		res=res+p*t[i];
		n--;
	}
	return res;
}

void fun()
{
	unsigned short a,s=0,q;
	int i,j,m,n=7;
	printf("请输入一个八进制数:\n");
	scanf("%ho",&num);
	m=1<<15;	//m最高位为1，其他位为0
	a<<=1;		//左移一位使第15位成为最高位
	for(i=1;i<=8;i++)
	{
		q=1;
		if(m&a) //本位上值为1则进行计算
		{
			for(j=1;j<=n;j++)
				q*=2;	//2^n
			s+=q;
		}	
		a<<2;
		n--;
	}
	printf("结果为:%o\n",s);
}

int main()
{
	unsigned short num;
	short bit[17]={0};
	printf("请输入一个八进制数:\n");
	scanf("%ho",&num);
	unsigned short res=getoddbit(num,bit);
	printf("%ho\n",res);


	return 0;
}
